/*
  求出 N 以内的全部素数，并按每行五个数显示
  题目描述
    求出 N 以内的全部素数，并按每行五个数显示。
  输入格式
    输入一个整数 N。（N <= 1000）
  输出格式
    依题意，输出满足条件的数！
  输入数据 1
    30
  输出数据 1
    2 3 5 7 11
    13 17 19 23 29
*/

#include <bits/stdc++.h>

using namespace std;

int main() {
    int a[1010] = {1, 1};  // a[i] 表示整数 i 表示是否是质数: 0 表示是质数，1 表示非质数(合数)
    int n;

    cin >> n;

    /* 埃氏筛除法核心代码 */
    for (int i = 2; i <= sqrt(n); i++) {  // 注意: 对于质数 i，从 i*i 开始筛! 因此如果 n 小于 i*i, 则循环退出!
        // 当 i 是质数的时候，执行筛除操作
        if (a[i] == 0) {
            for (int j = i * i; j <= n; j += i) { // 从 i*i 开始筛，筛掉质数 i 的倍数
                a[j] = 1;  // 筛除 j (即标记 a[j] 为非质数)
            }
        }
    }

    // 根据筛除操作后的结果，按照题目要求输出质数
    int num = 0;
    for (int i = 1; i <= n; i++) {
        if (a[i] == 0) {
            num++;
            cout << i<< " ";
        }
        if (num % 5 == 0) {
            cout << endl;
        }
    }

    return 0;
}